#pragma once

#include <iostream>
#include <sstream>
#include <fstream>
#include <iomanip>
#include <string>
#include <clocale>
#include <algorithm>
#include <vector>

using namespace std;

class word
{
private:
	string w1;
	string w2;
	string l1;
	string l2;

	bool compareCaseInsensitive(string s1 = "", string s2 = ""){
		transform(s1.begin(), s1.end(), s1.begin(), tolower);
		transform(s2.begin(), s2.end(), s2.begin(), tolower);
		if (s1.compare(s2) == 0){
			return true;
		}
		else{
			return false;
		}
	}

public:
	word(string, string, string, string);
	~word();

	bool check1(string s){
		return compareCaseInsensitive(s, this->w1);
	}

	bool check2(string s){
		return compareCaseInsensitive(s, this->w2);
	}

	bool check(string s){
		return check2(s);
	}

	void setWords(string w1 = "", string w2 = ""){
		this->w1 = w1;
		this->w2 = w2;
	}

	void setLanguages(string l1 = "", string l2 = ""){
		this->l1 = l1;
		this->l2 = l2;
	}

	vector<string> getWords(){
		vector<string> v = { this->w1, this->w2 };
		return v;
	}

	string getWord1(){
		return this->w1;
	}

	string getWord2(){
		return this->w2;
	}

	vector<string> getLanguages(){
		vector<string> v = { this->l1, this->l2 };
		return v;
	}

	string getLanguage1(){
		return this->l1;
	}

	string getLanguage2(){
		return this->l2;
	}

};

